package br.com.polo.contas.web.manageBeans;

import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import org.springframework.security.core.Authentication;
import org.springframework.security.core.context.SecurityContext;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.security.core.userdetails.User;
import br.com.polo.contas.dominio.Usuario;

@ManagedBean
@SessionScoped
public class UsuarioController {
	
	private Usuario usuario;
	
	/**
	 * Construtor
	 */
	public UsuarioController() {
		usuario = new Usuario();
		SecurityContext context = SecurityContextHolder.getContext();
		if (context instanceof SecurityContext){
			Authentication authentication = context.getAuthentication();
			if (authentication instanceof Authentication){
				User user = (User) authentication.getPrincipal();
				usuario.setUsername(user.getUsername());
			}
		}
	}

	/**
	 * @return the usuario
	 */
	public Usuario getUsuario() {
		return usuario;
	}

	/**
	 * @param usuario the usuario to set
	 */
	public void setUsuario(Usuario usuario) {
		this.usuario = usuario;
	}
	
}
